Hardware redundancy may be employed in various circuits by including extra copies of a hardware block or circuit that can replace original versions of a same circuit if original versions are found to be defective in silicon. Production yields can be then be increased by including extra circuitry to be switched in for defective circuitry.
However, with large parallel floating point resources that are used in graphics processors, or other processing devices, or any other suitable Arithmetic Logic Units, effectively employing redundancy can be quite difficult since the silicon area may be quite large and the inner connections quite complex.
One solution would be to route all inputs that are routed to an original circuit to a redundant circuit and then select which input corresponds to the defective circuit. However, routing all inputs to a redundant circuit may require too much wiring that may increase system layout complexity and chip susceptibility to increased noise and thus potentially reduce yields and increase cost.
In graphics processors for example, vector processors may be built in parallel to facilitate carrying out of arithmetic operations with respect to vertex information for example, for use in vertex shading operations, or for any other suitable operations. Such vector processors are a type of ALU (arithmetic logic unit) that can be critical to the operation and performance of a graphics processor. Accordingly, avoiding a high yield loss would be advantageous for devices that employ parallel processor ALUs.